package org.hydrakyoufeng.stuplatform.mapper;

import org.hydrakyoufeng.stuplatform.dto.*;
import org.hydrakyoufeng.stuplatform.vo.CourseListVO;

import java.util.List;

public interface CourseMapper {

    /**
     * 查询课程列表
     * @param courseListDTO
     * @return
     */
    List<CourseListVO> queryList(CourseListDTO courseListDTO);

    /**
     * 查询分配到指定班级中的所有课程列表
     * @param classId
     * @return
     */
    List<CourseListVO> queryListInClass(Integer classId);

    /**
     * 查询没有分配到指定班级中的所有课程列表
     * @param courseListDTO
     * @return
     */
    List<CourseListVO> queryListNotInClass(CourseListDTO courseListDTO);

    /**
     * 增加课程信息
     * @param courseDTO
     * @return
     */
    int insert(CourseDTO courseDTO);

    /**
     * 修改课程信息
     * @param courseDTO
     * @return
     */
    int update(CourseDTO courseDTO);

    /**
     * 删除课程信息
     * @param courseDTO
     * @return
     */
    int delete(CourseDTO courseDTO);


    List queryUserList(CourseUserListDTO courseUserListDTO);

    int queryOperateCount(CourseUserOperateDTO courseUserOperateDTO);

    int insertOperate(CourseUserOperateDTO courseUserOperateDTO);

    int updateOperate(CourseUserOperateDTO courseUserOperateDTO);

    /**
     * 用户提交纠错
     * @param dto
     * @return
     */
    int insertCorrecting(CorrectingUserDTO dto);

    /**
     * 管理员查询纠错信息列表
     * @param dto
     * @return
     */
    List queryCorrectingList(CorrectingListDTO dto);

    /**
     * 管理员审核纠错信息
     * @param dto
     * @return
     */
    int updateCorrecting(CorrectingDTO dto);
}
